// 封装 axios
import axios from 'axios';
import { getToken } from './token';
import { message } from 'antd';

// 创建 axios 实例
const request = axios.create({
  timeout: 5000,
});

// 设置拦截器
request.interceptors.request.use(
  (config) => {
    const token = getToken();
    if (token && config.headers) {
      config.headers.Authorization = `Bearer ${sessionStorage.getItem("token")}`;
    }
    return config;
  },
  (err) => {
    return Promise.reject(err);
  },
);
// 响应拦截器
request.interceptors.response.use(
  async (res) => {
    // 登录失效
    if (res.data.code === 61) {
      await message.error('登录失效', 0.1);
      window.location.replace('/login');
    }
    return res.data;
  },
  (err) => {
    return Promise.reject(err);
  },
);

// 暴露
export default request;
